#ifndef __I_CROSSFIRE_INPUT_H_
#define __I_CROSSFIRE_INPUT_H_

#define DIRECTINPUT_VERSION  0x0800
#include <dinput.h>

namespace cfe
{

class ICF_Input
{

public:
  //virtual bool Init(HINSTANCE instance);
  virtual ~ICF_Input(void) {};

  virtual bool InitDirect() = 0;
  virtual bool InitMouse( HWND hwnd ) = 0;
  virtual bool InitKeyboard( HWND hwnd ) = 0;
  virtual bool QueryMouse() = 0;
  virtual bool QueryKeyboard() = 0;

  virtual bool Initialize( HWND hwnd ) = 0;
  virtual bool Update() = 0;

  virtual int IsKeyDown(char key) = 0;
  virtual int IsKeyPressAt( char key, int time ) = 0;
  virtual DIMOUSESTATE2* GetMouseState() = 0;
};

};

#endif